home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / Xvc / XSGIvcQueryChannelInfo.z / XSGIvcQueryChannelInfo
Encoding:
Text File  |  2002-10-03  |  15.0 KB  |  331 lines

  1.  
  2.  
  3.  
  4.      XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))               XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.           XSGIvcQueryChannelInfo - Query video channel information
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.           ####iiiinnnncccclllluuuuddddeeee <<<<XXXX11111111////eeeexxxxtttteeeennnnssssiiiioooonnnnssss////XXXXSSSSGGGGIIIIvvvvcccc....hhhh>>>>
  13.  
  14.           SSSSttttaaaattttuuuussss XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((DDDDiiiissssppppllllaaaayyyy ****ddddiiiissssppppllllaaaayyyy,,,,
  15.               iiiinnnntttt ssssccccrrrreeeeeeeennnn,,,,
  16.               iiiinnnntttt cccchhhhaaaannnnnnnneeeellll,,,,
  17.               XXXXSSSSGGGGIIIIvvvvccccCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo ********cccciiiinnnnffffoooo____rrrreeeettttuuuurrrrnnnn))))
  18.  
  19.      PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  20.           _d_i_s_p_l_a_y        Specifies the connection to the X server.
  21.  
  22.           _s_c_r_e_e_n         Specifies the screen of the X server.
  23.  
  24.           _c_h_a_n_n_e_l        The channel number about which information
  25.                          should be returned
  26.  
  27.           _c_i_n_f_o__r_e_t_u_r_n   A pointer to the XSGIvcChannelInfo variable
  28.                          which is to receive the pointer to the
  29.                          corresponding information.  Use XFree to
  30.                          return the memory allocated for this
  31.                          structure.
  32.  
  33.  
  34.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  35.           XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo returns a structure containing
  36.           channel information for a specified channel.
  37.  
  38.  
  39.         CCCChhhhaaaannnnnnnneeeellll NNNNuuuummmmbbbbeeeerrrrssss
  40.           Channel numbers are assigned numbers starting at zero.
  41.           Subsequent channel numbers increase monotonically by one;
  42.           thus, each one is unique.  Because of this ordering
  43.           constraint, the channel number may not correspond to
  44.           physical channel numbers as labeled on the hardware chassis.
  45.           The _p_h_y_s_i_c_a_l_I_D field of the _X_S_G_I_v_c_C_h_a_n_n_e_l_I_n_f_o structure
  46.           contains the number of the physical channel.
  47.  
  48.  
  49.      SSSSTTTTRRRRUUUUCCCCTTTTUUUURRRREEEESSSS
  50.           The XSGIvcChannelInfo contains the following fields:
  51.  
  52.           typedef struct {
  53.               float           x, y;
  54.               float           height, width;
  55.           }               XSGIvcRectangle;
  56.  
  57.           /* See channelFlags in XSGIvcChannelInfo */
  58.           #define XSGIVC_CIFCompositeVideo   (1L << 0)   /* Composite video output */
  59.           #define XSGIVC_CIFPerComponentGain (1L << 1)   /* Independent gain adjustment */
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 10/3/02)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))               XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))
  71.  
  72.  
  73.  
  74.           typedef struct {
  75.               Bool            active;        /* channel is operating */
  76.               XSGIvcRectangle source;        /* Position on display surface */
  77.               XSGIvcVideoFormatInfo vfinfo;  /* Video format details */
  78.               long            channelFlags;  /* See XSGIVC_CIF... masks */
  79.               int            *gammaMaps;          /* Assignable gamma maps (ptr to array) */
  80.               int             gammaCount;         /* Returned count of gammaMaps */
  81.               Bool            blankingOp;         /* XSGIvcSetOutputBlanking usable */
  82.               Bool            gainOp;        /* XSGIvcSetOutputGain usable */
  83.               Bool            pedestalOp;         /* XSGIvcSetOutputPedestal usable */
  84.               Bool            phaseHOp;      /* XSGIvcSetOutputPhaseH usable */
  85.               int             phaseHMin;          /* Range of OutputPhaseH */
  86.               int             phaseHMax;
  87.               Bool            phaseVOp;      /* XSGIvcSetOutputPhaseV usable */
  88.               int             phaseVMin;          /* Range of OutputPhaseV */
  89.               int             phaseVMax;
  90.               Bool            phaseSCHOp;         /* XSGIvcSetOutputPhaseSCH usable */
  91.               int             phaseSCHMin;   /* Range of OutputPhaseSCH */
  92.               int             phaseSCHMax;
  93.               Bool      syncOp;         /* XSGIvcSetOutputSync usable */
  94.               int             syncPortCount; /* Number of sync ports */
  95.               XSGIvcChannelSyncInfo *syncInfo;    /* Information on all sync ports */
  96.               int            physicalID;         /* Physical port */
  97.           }               XSGIvcChannelInfo;
  98.  
  99.           /* Used in XSGIvcChannelInfo structure */
  100.           typedef struct {
  101.               int            syncPort;       /* One of XSGIVC_SP... values */
  102.               int           *syncTypeList;   /* The list of XSGIVC_SF... */
  103.               int            syncTypeListCount;   /* Count of items in syncTypeList */
  104.           }         XSGIvcChannelSyncInfo;
  105.  
  106.           In the XSGIvcChannelInfo structure, the fields are defined
  107.           in the following manner:
  108.  
  109.  
  110.           _a_c_t_i_v_e
  111.                field is TRUE if the queried channel is operational.
  112.                Servers with multiple channels may be programmed to run
  113.                only some of the output channels.  If the value of this
  114.                field is FALSE, the remaining fields in the structure
  115.                are undefined.
  116.  
  117.  
  118.           _s_o_u_r_c_e
  119.                is a XSGIvcRectangle structure that contains the
  120.                portion of the frame buffer that this channel displays.
  121.                The XSGIvcRectangle structure describes a rectangle
  122.                whose origin is at _x,_y and whose size is described by
  123.                _h_e_i_g_h_t and _w_i_d_t_h.  On graphics hardware platforms with
  124.                only one channel, this source rectangle is frequently
  125.                the entire managed area of the Screen. However, on
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 10/3/02)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))               XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))
  137.  
  138.  
  139.  
  140.                graphics hardware platforms that have more than one
  141.                channel for output, each channel may display a
  142.                different portion of the frame buffer.
  143.  
  144.  
  145.           _v_f_i_n_f_o
  146.                contains the detailed information that describes the
  147.                video format.  This information is valid only if _a_c_t_i_v_e
  148.                is true.
  149.  
  150.  
  151.           _c_h_a_n_n_e_l_F_l_a_g_s
  152.                is a set of flags that indicates information about the
  153.                channel.
  154.  
  155.  
  156.           _g_a_m_m_a_M_a_p_s
  157.                is an array of items, each item contains the index of a
  158.                gamma map which may be assigned to this channel.  The
  159.                number of items is returned in _g_a_m_m_a_C_o_u_n_t.
  160.  
  161.  
  162.           _b_l_a_n_k_i_n_g_O_p
  163.                is TRUE if the operations of the function
  164.                XXXXSSSSGGGGIIIIvvvvccccSSSSeeeettttOOOOuuuuttttppppuuuuttttBBBBllllaaaannnnkkkkiiiinnnngggg are supported on this channel.
  165.  
  166.  
  167.           _g_a_i_n_O_p
  168.                is TRUE if the operations of the function
  169.                XXXXSSSSGGGGIIIIvvvvccccSSSSeeeettttOOOOuuuuttttppppuuuuttttGGGGaaaaiiiinnnn are supported on this channel.
  170.  
  171.  
  172.           _p_h_a_s_e_H_M_i_n_R_e_t_u_r_n
  173.                Returns the minimum value to which horizontal phase may
  174.                be set.
  175.  
  176.  
  177.           _p_h_a_s_e_H_M_a_x_R_e_t_u_r_n
  178.                Returns the maximum value to which horizontal phase may
  179.                be set.
  180.  
  181.  
  182.           _p_h_a_s_e_V_M_i_n_R_e_t_u_r_n
  183.                Returns the minimum value to which vertical phase may
  184.                be set.
  185.  
  186.  
  187.           _p_h_a_s_e_V_M_a_x_R_e_t_u_r_n
  188.                Returns the maximum value to which vertical phase may
  189.                be set.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 10/3/02)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))               XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))
  203.  
  204.  
  205.  
  206.           _p_h_a_s_e_S_C_H_M_i_n_R_e_t_u_r_n
  207.                Returns the minimum value to which SCH phase may be
  208.                set.
  209.  
  210.  
  211.           _p_h_a_s_e_S_C_H_M_a_x_R_e_t_u_r_n
  212.                Returns the maximum value to which SCH phase may be
  213.                set.
  214.  
  215.  
  216.           _s_y_n_c_O_p
  217.                Operations to set output sync are permitted on this
  218.                channel.  See the function XXXXSSSSGGGGIIIIvvvvccccSSSSeeeettttOOOOuuuuttttppppuuuuttttSSSSyyyynnnncccc.
  219.  
  220.  
  221.           _s_y_n_c_P_o_r_t_C_o_u_n_t
  222.                is the number of sync ports available for this channel.
  223.                This count includes the standard sync ports of
  224.                _X_S_G_I_V_C__S_P_R_e_d, _X_S_G_I_V_C__S_P_G_r_e_e_n, _X_S_G_I_V_C__S_P_B_l_u_e, and
  225.                _X_S_G_I_V_C__S_P_A_l_p_h_a (if the ports are present and their
  226.                output can be altered) as well as the auxiliary ports.
  227.  
  228.  
  229.           _s_y_n_c_I_n_f_o
  230.                This is a pointer to an array of XSGIvcChannelSyncInfo
  231.                structures.  Each channel may have zero, one or more
  232.                sync ports for which the sync may be altered; each
  233.                mutable sync port is represented by one
  234.                XSGIvcChannelSyncInfo structure in the array.  There
  235.                are _s_y_n_c_P_o_r_t_C_o_u_n_t items in the array.  All ports which
  236.                can have its sync characteristics altered are included.
  237.                See below for a description of each of the fields.
  238.  
  239.  
  240.           _p_h_y_s_i_c_a_l_I_D
  241.                This identifies the physical port number of this
  242.                channel.  This is the number as labeled on the chassis
  243.                or cable of the video output.  Servers may take
  244.                liberties in numbering output ports which are not
  245.                strictly numbered (e.g., an encoder channel) such as
  246.                using negative numbers or impossibly high numbers.
  247.                This value is to be used only as a correlation to
  248.                chassis number; you should use the other values in this
  249.                structure to determine characteristics instead of
  250.                relying on some special decoding of physical channel
  251.                number.
  252.  
  253.  
  254.           In the XSGIvcChannelSyncInfo structure, the fields are
  255.           defined in the following manner:
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                                          (printed 10/3/02)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))               XXXXSSSSGGGGIIIIvvvvccccQQQQuuuueeeerrrryyyyCCCChhhhaaaannnnnnnneeeellllIIIInnnnffffoooo((((3333))))
  269.  
  270.  
  271.  
  272.           _s_y_n_c_P_o_r_t
  273.                Identifies the sync port.  This can be one of the
  274.                standard color components of _X_S_G_I_V_C__S_P_R_e_d,
  275.                _X_S_G_I_V_C__S_P_G_r_e_e_n, _X_S_G_I_V_C__S_P_B_l_u_e, and _X_S_G_I_V_C__S_P_A_l_p_h_a;
  276.                these values are all defined with negative numbers.
  277.                Alternatively, this idenfier can refer to one of the
  278.                auxiliary sync ports; the auxiliary sync ports are
  279.                numbered increasingly from zero (0) and can be also
  280.                identified using the constants _X_S_G_I_V_C__S_P_A_u_x_0,
  281.                _X_S_G_I_V_C__S_P_A_u_x_1, and _X_S_G_I_V_C__S_P_A_u_x_2.
  282.  
  283.  
  284.           _s_y_n_c_T_y_p_e_L_i_s_t
  285.                This is a pointer to an array of items defined as int.
  286.                Each item represents one of the different sync output
  287.                modes to which this sync port can be set, and contains
  288.                one of:  _X_S_G_I_V_C__N_o_n_e, _X_S_G_I_V_C__S_F_H_o_r_i_z_o_n_t_a_l_V_i_d_e_o,
  289.                _X_S_G_I_V_C__S_F_V_e_r_t_i_c_a_l_V_i_d_e_o, _X_S_G_I_V_C__S_F_C_o_m_p_o_s_i_t_e_V_i_d_e_o,
  290.                _X_S_G_I_V_C__S_F_H_o_r_i_z_o_n_t_a_l_T_T_L, _X_S_G_I_V_C__S_F_V_e_r_t_i_c_a_l_T_T_L,
  291.                _X_S_G_I_V_C__S_F_C_o_m_p_o_s_i_t_e_T_T_L, _X_S_G_I_V_C__S_F_H_o_r_i_z_o_n_t_a_l_T_r_i_L_e_v_e_l,
  292.                _X_S_G_I_V_C__S_F_V_e_r_t_i_c_a_l_T_r_i_L_e_v_e_l, or
  293.                _X_S_G_I_V_C__S_F_C_o_m_p_o_s_i_t_e_T_r_i_L_e_v_e_l.
  294.  
  295.  
  296.  
  297.           _s_y_n_c_T_y_p_e_L_i_s_t_C_o_u_n_t
  298.                The number of items in the _s_y_n_c_T_y_p_e_L_i_s_t array.
  299.  
  300.  
  301.      RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  302.           This function returns TRUE if successful , FALSE upon
  303.           failure.
  304.  
  305.           Parameter errors are reported via BadValue or BadMatch.
  306.  
  307.  
  308.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  309.           XSGIvc , XSGIvcListVideoFormats , XSGIvcSetChannelGammaMap
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.      Page 5                                          (printed 10/3/02)
  328.  
  329.  
  330.  
  331.